Generally described, computing devices utilize a communication network, or a series of communication networks, to exchange data. Companies and organizations operate computer networks that interconnect a number of computing devices to support operations or provide services to third parties. The computing systems can be located in a single geographic location or located in multiple, distinct geographic locations (e.g., interconnected via private or public communication networks). Specifically, data centers or data processing centers, herein generally referred to as a “data center,” may include a number of interconnected computing systems to provide computing resources to users of the data center. The data centers may be private data centers operated on behalf of an organization or public data centers operated on behalf, or for the benefit of, the general public.
To facilitate increased utilization of data center resources, individual computing devices within a data center may be configured to provide a variety of functionalities according to the requirements of the data center. For example, different operating systems, software, or operating system configurations may enable a computing device to provide different desired functionalities, or to provide similar functionalities more efficiently. In many cases, different physical computing devices may require different operating systems, software, or operating system configurations based on a hardware configuration or hardware benchmark. In other cases, it may be desirable to assign a computing device a particular operating system, software configuration, or operating system configuration based on a logical location within a network or a physical location within a data center. The configuration of a computing device is generally referred to as provisioning and the modification of a previous configuration with an updated configuration is generally referred to as reprovisioning. Reprovisioning a computing device often requires a manual installation or configuration of an operating system and software by an engineer familiar with the computing device hardware and network requirements.